Provider Tool Factory Options
data class ProviderToolFactoryOptions<TInput, TOutput, TContext>(val outputSerializer: KSerializer<TOutput>, val outputSchema: Schema<TOutput>? = null, val args: Map<String, JsonElement> = emptyMap(), val name: String? = null, val description: String? = null, val metadata: Map<String, JsonElement> = emptyMap(), val execute: suspend ToolExecutionContext<TContext>.(TInput) -> TOutput? = null, val needsApproval: suspend (input: TInput, options: ToolPredicateOptions<TContext>) -> Boolean? = null, val toModelOutput: (TOutput, ToolPredicateOptions<TContext>) -> ToolResultOutput? = null, val onInputStart: suspend (streamingId: String) -> Unit? = null, val onInputDelta: suspend (streamingId: String, delta: String) -> Unit? = null, val onInputAvailable: suspend (toolCallId: String, input: TInput) -> Unit? = null)
Constructors
Link copied to clipboard
constructor(outputSerializer: KSerializer<TOutput>, outputSchema: Schema<TOutput>? = null, args: Map<String, JsonElement> = emptyMap(), name: String? = null, description: String? = null, metadata: Map<String, JsonElement> = emptyMap(), execute: suspend ToolExecutionContext<TContext>.(TInput) -> TOutput? = null, needsApproval: suspend (input: TInput, options: ToolPredicateOptions<TContext>) -> Boolean? = null, toModelOutput: (TOutput, ToolPredicateOptions<TContext>) -> ToolResultOutput? = null, onInputStart: suspend (streamingId: String) -> Unit? = null, onInputDelta: suspend (streamingId: String, delta: String) -> Unit? = null, onInputAvailable: suspend (toolCallId: String, input: TInput) -> Unit? = null)